package com.logicalthinking.socialmall.entity;

import com.github.chenlijia1111.utils.core.annos.PropertyCheck;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 商家认证信息
 *
 * @author chenLiJia
 * @version 1.0
 * @since 2020-02-17 15:08:43
 **/
@ApiModel("商家认证信息")
@Table(name = "m_client_authenticate_shop")
@Setter
@Getter
@Accessors(chain = true)
public class ClientAuthenticateShop {
    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    @PropertyCheck(name = "用户id")
    @Id
    @Column(name = "user_id")
    private Integer userId;

    /**
     * 手机号
     */
    @ApiModelProperty("手机号")
    @PropertyCheck(name = "手机号")
    @Column(name = "telephone")
    private String telephone;

    /**
     * 名字
     */
    @ApiModelProperty("名字")
    @PropertyCheck(name = "名字")
    @Column(name = "name")
    private String name;

    /**
     * 身份证号码
     */
    @ApiModelProperty("身份证号码")
    @PropertyCheck(name = "身份证号码")
    @Column(name = "id_card")
    private String idCard;

    /**
     * 身份证照片正面
     */
    @ApiModelProperty("身份证照片正面")
    @PropertyCheck(name = "身份证照片正面")
    @Column(name = "id_card_front_image")
    private String idCardFrontImage;

    /**
     * 身份证照片反面
     */
    @ApiModelProperty("身份证照片反面")
    @PropertyCheck(name = "身份证照片反面")
    @Column(name = "id_card_back_image")
    private String idCardBackImage;

    /**
     * 店铺名称
     */
    @ApiModelProperty("店铺名称")
    @PropertyCheck(name = "店铺名称")
    @Column(name = "store_name")
    private String storeName;

    /**
     * 经营地址
     */
    @ApiModelProperty("经营地址")
    @PropertyCheck(name = "经营地址")
    @Column(name = "business_address")
    private String businessAddress;

    /**
     * 公司名称
     */
    @ApiModelProperty("公司名称")
    @PropertyCheck(name = "公司名称")
    @Column(name = "company_name")
    private String companyName;

    /**
     * 营业资格证,json数组
     */
    @ApiModelProperty("营业资格证,json数组")
    @PropertyCheck(name = "营业资格证,json数组")
    @Column(name = "business_certificate_images")
    private String businessCertificateImages;

    /**
     * 申请商家需支付价格
     */
    @ApiModelProperty("申请商家需支付价格")
    @PropertyCheck(name = "申请商家需支付价格")
    @Column(name = "apply_money")
    private Double applyMoney;

    /**
     * 支付状态 0否1是
     */
    @ApiModelProperty("支付状态 0否1是")
    @PropertyCheck(name = "支付状态 0否1是")
    @Column(name = "payed_status")
    private Integer payedStatus;

    /**
     * 支付方式 0微信支付 1账户余额
     * 为空表示是后台直接修改的
     */
    @ApiModelProperty("支付方式 0微信支付 1账户余额")
    @PropertyCheck(name = "支付方式 0微信支付 1账户余额")
    @Column(name = "pay_type")
    private Integer payType;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @PropertyCheck(name = "创建时间")
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 编辑时间
     */
    @ApiModelProperty("编辑时间")
    @PropertyCheck(name = "编辑时间")
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 审批状态 0未审批 1审批通过 2审批拒绝
     */
    @ApiModelProperty("审批状态 0未审批 1审批通过 2审批拒绝")
    @PropertyCheck(name = "审批状态 0未审批 1审批通过 2审批拒绝")
    @Column(name = "review_status")
    private Integer reviewStatus;

    /**
     * 审批结果
     */
    @ApiModelProperty("审批结果")
    @PropertyCheck(name = "审批结果")
    @Column(name = "review_result")
    private String reviewResult;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @PropertyCheck(name = "备注")
    @Column(name = "remark")
    private String remark;

    /**
     * 有效期
     * 如果是自己申请的,没有有效期,这个值为空
     * 如果是后台修改的,会有有效期,有效期到了之后会变回之前的会员类型
     * 根据是否有个人认证进行退回,如果有个人认证就退回个人认证,如果没有就退回未认证
     */
    @ApiModelProperty("有效期")
    @PropertyCheck(name = "有效期")
    @Column(name = "limit_time")
    private String limitTime;


}